<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>练习</title>
</head>
<body>
    
</body>
</html>
<script>
    /*
        1.定义一个Person类，类中包含name，age两个属性
            并修改该类原型的toString()方法，使其可以输出对象的具体信息。
            信息格式如下：Person[name=孙悟空，age=18]
    */
    function Person(name,age){
        this.name = name;
        this.age = age;
    }
    Person.prototype.toString=function(){
        return "[name="+this.name+",age="+this.age+"]";
    }

    /*
        2.创建一个数组，向数组中添加三个Person对象（使用上题的构造函数）
    */

    var per = new Person("孙悟空",18); 
    var per2 = new Person("猪八戒",22); 
    var per3 = new Person("沙和尚",30); 
    var arr = [per,per2,per3];

    /*
        3.遍历题 2 中创建的数组
    */
    for(var i=0;i<arr.length;i++){
        document.write("我是"+arr[i].name,"，今年"+arr[i].age+"岁!!<br>");
    }

    /*
        4.列举向数组最前和最后添加删除元素的四个方法
    */
    var arr2 =["孙悟空","猪八戒","沙和尚","唐僧"];

    // 向数组最前添加元素
    arr2.unshift("玉皇大帝");
    document.write("<br>向数组最前添加元素<br>");
    document.write(arr2+"<br><br>");

    // 向数组最后添加元素
    arr2.push("白龙马");
    document.write("向数组最后添加元素<br>");
    document.write(arr2+"&nbsp;&nbsp;-->向数组最后添加元素<br>");
    // 方法二
    document.write(arr2.concat("concat 连接")+"&nbsp;&nbsp;-->向数组最后添加元素<br><br>");

    // 删除数组第一个元素
    arr2.splice(0,1);
    document.write("删除数组第一个元素<br>");
    document.write(arr2+"&nbsp;&nbsp;-->删除数组第一个元素 删除第一<br>");
    // 方法二
    arr2.shift();
    document.write(arr2+"&nbsp;&nbsp;-->删除数组第一个元素 删除第一<br><br>");

    // 删除数组最后一个元素
    arr2.pop();
    document.write("删除数组最后个元素<br>");
    document.write(arr2+" &nbsp;&nbsp;-->删除数组最后一个元素 删除最后<br>");
    arr2.splice(arr2.length-1);
    document.write(arr2+" &nbsp;&nbsp;-->删除数组最后一个元素 删除最后<br><br>");
    /*
        5.编写一段程序，去除下列数组中重复的元素
                var arr=[1,2,3,3,4,5,2,2,2,6,7]
    */
    var arr3=[1,2,3,3,4,5,2,2,2,6,7];

    for(var i=0;i<arr3.length;i++){

        for(var j=i+1;j<arr3.length;j++){
            if(arr3[i] == arr3[j]){
                arr3.splice(j,1);
                j--;
            }

        }
    }
    document.write(arr3+"&nbsp;&nbsp;-->数组中重复的元素<br>");

    /*
        6.写出下列代码的输出值:
                                function A(){}
                                function B(a){this.a = a;}
                                function C(a){if(a){this.a = a;}}
                                A.prototype.a = 1;
                                B.prototype.a = 1;
                                C.prototype.a = 1;
    */
</script>